package com.luo.dao;

import com.luo.pojo.CommentsInfo;
import com.luo.pojo.CommentsReply;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author Luo
 */
@Component
@Mapper
public interface CommentDao {
    /**
     * 获取对应对象id的所有主评论
     * @param ownerId 对象id
     * @return 返回所有主评论
     */
    List<CommentsInfo> queryInfoComments(String ownerId);

    /**
     * 获取对应对象id的所有子评论
     * @param ownerId 对象id
     * @return 返回所有子评论
     */
    List<CommentsReply> queryReplyComments(String ownerId);


    /**
     * 删除父亲评论
     * @param id 父亲表评论id
     */
    void deleteCommentByFather(int id,String createTime);

    /**
     * 删除子评论
     * @param commentId 回复的主表id
     * @param createTime 回复的时间
     */
    void deleteCommentByReply(int commentId,String createTime);

    /**
     * 新增父评论
     * @param type 评论对象类型
     * @param ownerId 评论对象
     * @param fromId 评论人id
     * @param fromName 评论人名
     * @param fromAvatar 评论人头像
     * @param content 评论内容
     */
    void insertCommentByFather(int type, String ownerId, int fromId, String fromName, String fromAvatar, String content);


    /**
     * 新增子评论
     * @param commentId 回复对象id
     * @param fromId 评论人id
     * @param fromName 评论人名字
     * @param fromAvatar 评论人头像
     * @param toId 被评论人id
     * @param toName 被评论人名字
     * @param toAvatar 被评论人头像
     * @param content 评论内容
     */
    void insertCommentByReply(int commentId,int fromId,String fromName,String fromAvatar,int toId,String toName,String toAvatar,String content);

    /**
     * 获取回复某个人的那些人
     */
    List<CommentsInfo> getReplyPerson(String username);
}
